<?php
require_once("config.php");
require_once("Util.class.php");

class Gera_Imagem
{
	public $_modelo_img = "../../uploads/0210201210321380222893.jpg";
	public $_tamanho_fonte = 12;	
	public $_tamanho_fonte_nome = 16;
	public $_fonte = '../../fonts/HelveticaLTStd-Cond.otf';
	public $sigla;
	public $_nomePag = "uf";
	
	
	
	#--------------------------------------------------------------------------------------------------------------------------#
   #	FUNCAO PARA CRIAR A IMAGEM DE ENVIO
   #--------------------------------------------------------------------------------------------------------------------------#
   public function cria_imagem($titulo, $cargo, $telefone, $email)
   {    
   		//Carrego a imagem de exemplo
		$im = imagecreatefromjpeg($this->_modelo_img);
		
		
		// COR DA FONTE
		$cor_fonte_1 = imagecolorallocate($im, 0, 93, 120);
		$cor_fonte_2 = imagecolorallocate($im, 0, 0, 0);
		
		
		
		//	TAMANHO DA FONTE
		$tamanho_fonte_nome = $this->_tamanho_fonte_nome;
		$tamanho_fonte = $this->_tamanho_fonte;
		
		
		// Replace path by your own font path
		$font = $this->_fonte;
		
		
		//	ESCREVO O NOME
		imagettftext($im, $tamanho_fonte_nome, 0, 198.09, 29.03, $cor_fonte_1, $font, utf8_encode($titulo));
		
		imagettftext($im, $tamanho_fonte_nome, 0, 198.09, 53.25, $cor_fonte_1, $font, utf8_encode($cargo));
		
		imagettftext($im, $tamanho_fonte, 0, 229.03, 81.34, $cor_fonte_2, $font, $telefone);
		
		imagettftext($im, $tamanho_fonte, 0, 496.22, 81.34, $cor_fonte_2, $font, $email);
		
		
		
		
				
		// quando o texto chegar a 40 caracteres na mesma linha
		// o texto é quebrado, havendo a quebra de linha 
		$valores = wordwrap($texto, 40, "\r\n"); 
		
		$quebra = explode("\r\n", $valores); 
		
				
		//	ESCREVO A MENSAGEM
		$valor = 0; 
		for($i = 0; $i < count($quebra); $i++) 
		{ 
			imagettftext($im, $tamanho_fonte_msg, 0, 320, (90 + $valor), $cor_fonte, $font, "$quebra[$i]");
			$valor=$valor+15; 
		} 
		
			
		
		// Set the content-type
		//header('Content-type: image/png');
		
		// Using imagepng() results in clearer text compared with imagejpeg()
		$nome_imagem = date("dmY-His") . ".jpg";
		imagejpeg($im, "../../uploads/assinaturas/" . $nome_imagem);
		imagedestroy($im); 
		
		return $nome_imagem;
   }
   
   
   
   public function download_img($arquivo){
	   
		if( isset( $arquivo) && is_file( $arquivo ) ){
	  
			 // Pega a extensão do arquivo
			 $ext = pathinfo($arquivo,PATHINFO_EXTENSION);
			  
			 // No vetor abaixo são setados os Mime Types dos possíveis arquivos
			 $mimeType = array(
				 'jpg'=>'image/jpeg',
				 'mp3'=>'audio/mpeg',
				 'pdf'=>'application/pdf',
				 'doc'=>'application/msword',
				 'ppt'=>'application/vnd.ms-powerpoint',
				 'pps'=>'application/vnd.ms-powerpoint'
			 );
			  
			 //Seta o Mime Type do arquivo de acordo com a extensão
			 if(array_key_exists($ext,$mimeType)){
				$mimeType = $mimeType[$ext];
			 }else{
				 // Se o Mime Type não for encontrado na lista, será usado o padrão application/octet-stream
				 $mimeType = "application/octet-stream";
			 }
			  
			 // Seta os cabeçalhos
			 header( "Pragma: public" );
			 header( "Expires: 0" );
			 header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
			 header( "Cache-Control: private",false );
			 header( "Content-Type: $mimeType" );
			  
			 // A linha abaixo é responsável por dizer que o arquivo é para download
			 header( "Content-Disposition: attachment; filename=\"".basename($arquivo)."\";");
			  
			 header( "Content-Transfer-Encoding: binary" );
			 header( "Content-Length: ".filesize($arquivo));
			  
			 // Lê e escreve o conteúdo do arquivo para o buffer de saída
			 readfile($arquivo);
			  
			 exit;
		} else {
			 // Para dar um erro 404 de arquivo não encontrado
			 header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
			 header("Status: 404 Not Found");
			  
			 // Se as duas linhas acima não der um erro 404 exibe a mensagem abaixo
			 die("Arquivo não encontrado");
		}
   
   }
   
   
   
}

?>
